home *** CD-ROM | disk | FTP | other *** search
- Subject: Re: Gem List
- Date: Fri, 29 Jul 1994 14:58:30 +1000
- From: Warwick Allison <warwick@cs.uq.oz.au>
- Precedence: bulk
-
- Michel Forget wrote:
- >
- >This is not a good approach. It limits the number of windows to 20.
- >MultiTOS can have many more than that, and so can Geneva. A much
- >better (though confusing) solution is to use a linked-list, or a
- >dynamically allocated array. That way the list can grow indefinitely.
-
- In GEM++, I use a linked list, and go to the trouble of maintaining the
- list to be in the same order as the windows. I'm still not sure how
- useful this is, since I could call wind_find(), then search an
- unordered list. Comments?
-
- I also never hold onto a window handle if the window is not open.
- This means keeping my own copies of the window sizes, but again,
- that hasn't been a problem. Good for older TOSes. Comments? (Hey,
- maybe everyone does these things - I've not looked at the details of
- many libraries).
-
- >>Or you could just bypass form_keybd altogether.
-
- >If you bypass objc_edit()
- >or form_keybd(), then you LOSE the enhancements that the user installs
- >in the AUTO folder. ...
- >... There are situations where you
- >might NEED to replace one of these functions, but unless you absolutely
- >have to you should leave them the way they are.
-
- This is 100% true. The trouble is, those situations (eg. to allow
- scolling textfields) force you to write all the code that can be reused
- in plain textfields anyway. Because functionality provided by TSRs
- are not extensible. Scrolling text fields are very important (eg. if
- the field is supposed to hold a filename, it is usually restricted
- to 70 characters - that can be as little as 4 directories deep. It
- would be difficult (but not impossible) for a TSR to support this,
- since it cannot normally know how large a field the program can
- handle. So while TSR's might look like a nice solution, they have
- trouble providing what a library can provide.
-
- --
- Warwick
-